<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>展开语法/点语法的使用</title>
</head>
<body>
    
</body>
<script>
    /*
        展开语法 -- 使用...来配合使用
            主要的功能 有
                1：收  let [a,...args] = [1,2,3,4]
                2: 放  let [a,b,c] = [...args]
    */
    // 收的情况
    let [a,...args] = [1,2,3,4]
    console.log(args)  // [2,3,4]  这个就是收的情况  会将剩余参数收集起来
    // 放的情况
    let [z,b,c] = [...args]
    console.log(z,b,c)  // 2 3 4

    // 点语法也经常用在函数中
    function sum(...args){
        return args.reduce((pre,item)=>pre+item)
    }
    console.log(sum(1,5,7,9))  //22  

    // 在没有学点语法前 我们还可以使用函数中的arguments参数
    function all(){
        // 只是要知道arguments我们要先通过点语法将其转换成数组才可以使用reduce方法
        return [...arguments].reduce((pre,item)=>pre+item)
    }
    console.log(all(1,5,7,9))  // 22
</script>
</html>